export default class CommonUtil {
  static moveDecimalRight(str, move = 2) {
    if (!str){
      return '-'
    }
    str = String(str)

    // 如果没有小数点，就补上
    if (!str.includes('.')) str += '.'

    // 拆分整数部分和小数部分
    let [intPart, decPart] = str.split('.')
    decPart = decPart || ''

    // 拼接成一个纯数字串
    let allDigits = intPart + decPart

    // 原小数点位置（从左数）
    let oldPos = intPart.length
    let newPos = oldPos + move

    // 如果移动后超过长度，补 0
    while (allDigits.length < newPos) {
      allDigits += '0'
    }

    // 插入新的小数点
    let newStr
    if (newPos >= allDigits.length) {
      newStr = allDigits // 没有小数部分
    } else {
      newStr = allDigits.slice(0, newPos) + '.' + allDigits.slice(newPos)
    }

    // 去掉多余的 0 和小数点
    newStr = newStr.replace(/^0+(\d)/, '$1') // 去掉前导0（保留一个）
    newStr = newStr.replace(/\.?0+$/, '') // 去掉尾部.00
    if (newStr.startsWith('.')) newStr = '0' + newStr

    return newStr
  }
}
